package com.ffcs.crmd.tsp.common.exception;

import com.ffcs.crmd.tsp.common.netty.enu.NettyExceptionType;


/**
 * 
 * 功能说明:调度框架自定义异常
 *
 * @author ZHONGFUHUA
 * 
 * @Date 2016年1月6日 下午3:25:32
 *
 *
 * 版本号  |   作者   |  修改时间   |   修改内容
 *
 */
public class TspRemotingException extends Exception {
    
    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    
    /**
     * 异常类型
     */
    private NettyExceptionType exceptionType;
    
    /**
     * 
     * 功能说明:构造函数
     * 
     * @param msg
     *      系统内部异常描述信息
     * @author ZHONGFUHUA
     *
     * @Date 2016年2月3日
     *
     */
    public TspRemotingException(String msg) {
        super(msg);
    }
    
    /**
     * 
     * 功能说明:构造函数
     * 
     * @param msg
     *      系统内部异常描述信息
     * @param exceptionType
     *      异常类型 
     * @author ZHONGFUHUA
     *
     * @Date 2016年2月3日
     *
     */
    public TspRemotingException(String msg, NettyExceptionType exceptionType) {
        super(msg);
        this.exceptionType = exceptionType;
    }
    

    
    /**
     * 
     * 功能说明:构造函数
     * 
     * @param cause
     *      异常对象
     * @author ZHONGFUHUA
     *
     * @Date 2016年2月3日
     *
     */
    public TspRemotingException(Throwable cause) {
        super(cause);
    }
    
    /**
     * 
     * 功能说明:构造函数
     * 
     * @param cause
     *      异常对象
     * @param exceptionType
     *      异常类型 
     * @author ZHONGFUHUA
     *
     * @Date 2016年2月3日
     *
     */
    public TspRemotingException(Throwable cause, NettyExceptionType exceptionType) {
        super(cause);
        this.exceptionType = exceptionType;
    }

    /**
     * 
     * 功能说明:异常类型
     * 
     * @author ZHONGFUHUA
     *
     * @Date 2016年4月22日
     *
     */
    public NettyExceptionType getExceptionType() {
        return exceptionType;
    }
    
}
